1. Field of the Invention
The present invention relates to inter-application data transmission/reception, and the embodiments of the present invention relates to a system and method for transmitting/receiving data among interconnected applications over a network, and further to a computer readable storage medium having a computer readable program code stored therein for causing data to be exchanged among various interconnected applications over the network.
2. Description of the Related Art
FIG. 17 of the accompanying drawings shows a block diagram of a conventional integrated architecture of various applications which appears in page 514 of xe2x80x9cHigh-tech Software Dictionaryxe2x80x9d, Ohm Press (May 1991). Referring to FIG. 17, a shared user interface 1, 6 is used by a user for entering data to gain access to a business application 2, 7, respectively, and receiving an output result from the business application 2, 7. A shared communication protocol 3, 8 is used for communication over a network between the business applications 2 and 7 using the shared user interfaces 1 and 6, respectively. A shared API (Application Program Interface) business program 4, 9 is provided with a shared API for a mutual use of data/functions of the business applications 2 and 7. A database 5, 10 stores business data. The business application 2, 7 includes the shared communication protocol 3, 8, the shared API business program 4, 9 and the database 5, 10, respectively. A network 11 links the business applications 2 and 7.
The operation of the conventional art is now described with reference to FIG. 17.
In the case of a single or sole use of the business application 2 involving no data transmission over the network, the user gains access to the shared API business program 4 from the shared user interface 1 via the shared communication protocol 3 to request the use of the function of the shared API business program 4. The shared API business program 4 retrieves data required from the database 5, processes the data and outputs a processed outcome in response to the user""s request at the, shared user interface 1 via the shared communication protocol 3.
In the case of the mutual use of data/functions of the business applications 2 and 7 involving data transmission over the network, assuming that the processed result from the business application 2 is transmitted over to the business application 7 to be used, the same process as that of the aforementioned single or sole use of the business application 2 is applied to the use of the function of the business application 2 via the shared user interface 1 by the user. Thereafter, the function of the shared API business program 9 is called from the shared API business program 4 via the shared communication protocols 3 and 8 over the network 11.
Suppose that a company A uses an X made spreadsheet software P implemented in the business application 2, a company B uses a Y made spreadsheet software Q implemented in the business application 7, and Internet is used as the network 11.
In the case of data retrieved from the spreadsheet software P in the system of company A, transmitted over the Internet to the system of company B so as to be written into the spreadsheet software Q, specific programs are required for implementing such series of processing on each of the systems of companies A and B. However, the specific programs are designed only for communication between the systems of companies A and B. In other words, the specific program is not applicable to a communication between the system of company A and the system of a company C, for example, if the system of company C uses the same Y made spreadsheet software Q as that of company B. Data of the spreadsheet software P of company A can be written into the spreadsheet software Q of company B but not the spreadsheet software Q of company C. This is because the spreadsheet software Q of company B is used in a different manner from that of company C in terms of the definition of data and the use of columns. For this reason, a specific program has to be designed exclusively for connecting the systems of company A and company B.
Thus, the conventional business application system is efficient only in the single use of the business application but poses such a problem in the mutual use of data of various business applications. The problem arises when connecting the same made business applications of different types of business or different made business applications of the same type of business. Differences in data formats, communication protocols depending on communication software, functions of business applications and the like make the connection difficult. In order to connect the business applications in such a condition, changes in business programs and communication software may be involved with an increase in development cost.
The integration of the communication protocols and application program interfaces (API) which are application dependent of the conventional art is a solution to the mutual use of data among various business applications.
However, this solution of integration is applicable only to applications newly developed based upon unified standards designed for the mutual use of data. With existing systems, the rebuilding of business programs and communication protocols have to be involved with a large increase in development cost. If there is no information provided on source codes or internal logic, then nothing can be done to solve this problem.
The following examples illustrate the aforementioned problems.
Assuming that integer values stored in the database are represented to be processed in a two-bite data format and in the database 10 in a four-byte data format. In this case, data format conversion is required for a consistent performance of inputting, processing and outputting in the respective business applications.
There is usually a strong relationship between a data format to be used within a business application and control commands/instructions. The communication protocol connecting the user interface and the business application may depend on the implementing method of the user interface.
For example, a communication protocol called Telnet (Telecommunication Network) is usually used with a character-based screen terminal as the user interface for inputting/outputting data, and a communication protocol called HTTP (Hypertext Transfer Protocol) is usually used with a browser as the user interface.
For the mutual use of data of various business applications, there is a need of using the communication protocol to be shared among the various business applications so as to match the data formats and the transmission formats. For this reason, the implementing method of the user interface also has to be shared or specified among the business applications.
Thus, there is a need of matching existing communication protocols, data access APIs, data formats of data to be stored and retrieved, definition of data, user interfaces and the like between different made business applications of the same type of business to be connected for the mutual use of data exchanged. In other words, existing two different business applications in operation may be linked successfully for the mutual use of data exchanged only when some of those changes are involved in either one or both of the business programs.
When the data format of one business application is converted into that of the other, not only the business application program but also the data format of all the stored data is required conversion.
Embodiments of the present invention are directed to solving the foregoing problems. It is an object of an embodiment of the present invention to achieve the mutual use of data and functions of various business applications over the network without changing business application and communication protocol.
Further, as a transmission format to be used for data transmission a shared data format is employed in the same business, which eliminates the need for converting an application dependent format of each business application.
It is an object of another embodiment of the present invention to add an information processing function dealing with data in the intermediate format so as to implement shared part of the function or a new function of the business application by the same program.
It is an object of another embodiment of the present invention to execute the program obtained through downloading from a remote place via the network so as to achieve an improved performance of the business application in an easy manner.
These and other objects are accomplished by the present invention as hereinafter described in further detail.
According to one aspect of the present invention, an inter-application data transmitting/receiving system includes a data format conversion rule memory for storing a data format conversion rule including a first conversion rule for converting a data format being dependent on an application as an application dependent format into an intermediate format being independent of the application and a second conversion rule for converting the intermediate format into the application dependent format, a flow control rule memory for storing a flow control rule including first and second control commands for executing the application, and a resident agent for executing the application based upon the first control command to obtain data in the application dependent format and converting the data obtained into the data in the intermediate format based upon the first conversion rule, and for receiving and converting the data in the intermediate format into the data in the application dependent format based upon the second conversion rule and executing the application based upon the second control command to update the data in the application dependent format obtained with the data in the application dependent format received and converted.
According to another aspect of the present invention, an inter-application data transmitting/receiving system includes a first application having a first communication protocol, a first system connected with the first application using the first communication protocol, a second application having a second communication protocol, and a second system connected with the second application using the second communication protocol linked to the first system over a network. The first system includes a first data format conversion rule memory for storing a first conversion rule for converting a data format being dependent on the first application as a first application dependent format into an intermediate format being independent of the first application, a first flow control rule memory for storing a first control command for executing the first application, and a first resident agent for executing the first application based upon the first control command stored in the first flow control rule memory to obtain data in the first application dependent format and converting the first application dependent format of the data into the intermediate format based upon the first conversion rule. The second system includes a second data format conversion rule memory for storing a second conversion rule for converting the intermediate format of the data into a data format being dependent on the second application as a second application dependent format, a second flow control rule memory for storing a second control command for executing the second application, and a second resident agent for receiving the data in the intermediate format over the network, converting the intermediate format of the data received into the second application dependent format based upon the second conversion rule, executing the second application to update the data in the second application dependent format with the data received in the second application dependent format based upon the second control command stored in the second flow control rule memory.
According to a further aspect of the present invention, an inter-application data transmitting/receiving system for exchanging data among interconnected applications over a network, the inter-application data transmitting/receiving system includes a business dependent processing unit for gaining access to an application through a procedure defined for the application, executing the application based upon a control command predetermined for executing the application, receiving data in a format being dependent on the application as an application dependent format, converting the application dependent format of the data into an intermediate format to be shared by the interconnected applications for transmitting the data, and exchanging the data in the intermediate format among the interconnected applications over the network.
According to a still further aspect of the present invention, a method for transmitting/receiving data among a plurality of interconnected applications over a network, the method includes the steps of interfacing an application through a procedure designed for the application to be processed, storing a flow control rule for executing the application in a flow control rule memory for executing the application, storing a data format dependent on the application as an application dependent format, a data format shared for exchanging data among the plurality of applications as an intermediate format and a data format conversion rule including a first conversion rule and a second conversion rule in a data format conversion rule memory, executing the application based upon the flow control rule to obtain the data, converting the application dependent format of the data into the intermediate format to be transmitted over the network based upon the first conversion rule, receiving the data over the network; converting the intermediate format of the data received into the application dependent format based upon the second conversion rule, and executing the application based upon the flow control rule to update the data obtained in the application dependent format with the data received in the application dependent format.
According to a still further aspect of the present invention, a computer readable storage medium includes a computer readable program code stored therein for causing data to be exchanged among a plurality of interconnected applications over a network. The computer readable program code includes an interface code segment for causing a computer to interface and application through a procedure designed for the application to be processed, a first storing code segment for causing the computer to store a flow control rule in a flow control rule memory, a second storing code segment for causing the computer to store a data format dependent on the application as an application dependent format, a data format to be shared among the plurality of Interconnected applications for exchanging the data as an intermediate format and a data format conversion rule including a first conversion rule and a second conversion rule in a data format conversion rule memory, a first execution code segment for causing the computer to execute the application based upon the flow control rule to obtain the data in the application dependent format, a first conversion code segment for causing the computer to convert the application dependent format of the data obtained into the intermediate format to be transmitted over the network based upon the first conversion rule, a receive code segment for causing the computer to receive the data over the network, a second conversion code segment for causing the computer to convert the intermediate format of the data received over the network into the application dependent format based upon the second conversion rule, and a second execution code segment for causing the computer to execute the application based upon the flow control rule to update the data obtained in the application dependent format with the data received in the application dependent format.
Further scope of applicability of the present invention will become apparent from the detailed description given hereinafter. However, it should be understood that the detailed description and specific examples, while indicating preferred embodiments of the invention, are given by way of illustration only, since various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art from this detailed description.